﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Device.Location;

namespace GFService
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
    [ServiceContract]
    public interface IGeoFinder
    {
        [OperationContract]
        void Subscribe(long facebookID, string uri, long facebook_id);

        [OperationContract]
        void SetBlackAndWhiteFacebookFriends(long facebookID, List<long> friendsFacebookID);

        [OperationContract]
        void SetBlackAndWhiteFacebookFriends_string(long facebookID, string friendsFacebookID);

        [OperationContract]
        List<long> UpdateFacebookFriends(long facebookID, List<long> friendsFacebookID);

        [OperationContract]
        string UpdateFacebookFriends_string_friends(long facebookID, string friendsFacebookID);

        [OperationContract]
        void UpdatePushSettings(long facebookID, bool push_status, bool toast, bool tile, bool raw);

        [OperationContract]
        List<string> UpdateGPS(long facebookID, string gpsPosition);

        [OperationContract]
        string UpdateGPS_string(long facebookID, string gpsPosition);

        [OperationContract]
        void UpdateSearchingArea(long id, double searching_area);

        [OperationContract]
        void SendToastToAll(string title, string message);

        [OperationContract]
        void SendTileUpdateToAll(string title, int count, string imageUrl);

        [OperationContract]
        void SendRawNotificationToAll(string message);
    }
}
